home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 26
/
AMIGAplus Sonderheft 26 (2000)(Falke)(DE)(Track 1 of 2)[!].iso
/
Rexx
/
DefineAnimGif.pprx
< prev
next >
Wrap
Text File
|
1999-03-29
|
4KB
|
121 lines
/* Personal Paint Amiga Rexx script - Copyright © 1997 Cloanto Italia srl */
/* $VER: DefineAnimGif.pprx 1.0 */
/** ENG
This tool works exactly like the Define Anim-Brush tool which is part
of the Personal Paint tool bar (three clicks on Define Brush), but it
additionally stores frame timing information in the anim-brush in a
format compatible with GIF animations, which can then be saved by the
SaveAnimGif script.
*/
/** DEU
Dieser nützliche Helfer arbeitet genau wie die Funktion zum Erstellen eines
Animationspinsels in der Werkzeugleiste von Personal Paint (dreifacher
Mausklick auf das Symbol "Pinsel definieren"). Im Gegensatz zu diesem werden
jedoch zusätzlich Informationen zum Einzelbildtiming in einem zu
GIF-Animationen kompatiblen Format mitgespeichert, welche anschließend sich
mit dem Skript SaveAnimGif sichern lassen.
*/
/** ITA
Questo strumento funziona esattamente come quello Definire Anim-Brush,
che fa parte della barra degli strumenti di Personal Paint (tre click
su Definire pennello), ma in più immagazzina informazioni sulla
temporizzazione dei fotogrammi all'interno dell'anim-brush, in un formato
compatibile con le animazioni GIF, che si può poi salvare tramite lo script
SaveAnimGif.
*/
IF ARG(1, EXISTS) THEN
PARSE ARG PPPORT button x0 y0 rwidth rheight .
ELSE
EXIT 0 /* macro execution only */
ADDRESS VALUE PPPORT
OPTIONS RESULTS
OPTIONS FAILAT 10000
Get 'LANG'
IF RESULT = 1 THEN DO /* Deutsch */
txt_title_req = "GIF Anim-Pinsel definieren"
txt_gad_getf = "_Einzelbilder:"
txt_gad_dir = "_Richtung:"
txt_gad_dir0 = "Vorwärts"
txt_gad_dir1 = "Rückwärts"
txt_err_noanim = "Umgebung enthält_keine Animation"
txt_err_oldclient = "Für dieses Skript_ist eine neuere Version_von Personal Paint erforderlich"
END
ELSE IF RESULT = 2 THEN DO /* Italiano */
txt_title_req = "Creare Anim-Brush GIF"
txt_gad_getf = "_Fotogrammi:"
txt_gad_dir = "Di_rezione:"
txt_gad_dir0 = "Avanti"
txt_gad_dir1 = "Indietro"
txt_err_noanim = "L'ambiente attuale_non contiene un'animazione"
txt_err_oldclient = "Questa procedura richiede_una versione più recente_di Personal Paint"
END
ELSE DO /* English */
txt_title_req = "Define GIF Anim-Brush"
txt_gad_getf = "Get _frames:"
txt_gad_dir = "_Direction:"
txt_gad_dir0 = "Forward"
txt_gad_dir1 = "Backward"
txt_err_noanim = "The current environment_does not contain an animation"
txt_err_oldclient = "This script requires a newer_version of Personal Paint"
END
Version 'REXX'
IF RESULT < 7 THEN DO
RequestNotify 'PROMPT "'txt_err_oldclient'"'
EXIT 10
END
LockGUI
GetFrames
frnum = RESULT
IF frnum > 0 THEN DO
Request '"'txt_title_req'" ' ||,
'"INTSTR = ""'txt_gad_getf'"", 1, 'frnum', 'frnum' ' ||,
' CYCLE = ""'txt_gad_dir'"", 2, 0, ""'txt_gad_dir0'"", ""'txt_gad_dir1'"" "'
IF RC = 0 THEN DO
get_fnum = RESULT.1
IF RESULT.2 = 1 THEN DO
get_dir = 'BACK'
get_step = -1
END
ELSE DO
get_dir = ''
get_step = 1
END
Version 'PROGRAM'
PARSE VAR RESULT pver'.'prev
IF pver < 7 | (pver = 7 & prev < 1) THEN
button = button + 1
IF button = 3 THEN
get_mode = 'ERASE'
ELSE
get_mode = ''
DefineBrush x0 y0 x0+rwidth-1 y0+rheight-1 'FRAMES' get_fnum get_dir get_mode
GetFramePosition
pos = RESULT
delays = ''
DO frm = pos FOR get_fnum BY get_step
IF frm = 0 THEN
frm = frnum
ELSE IF frm > frnum THEN
frm = 1
GetFrameDelay 'FRAME' frm
delays = delays TRUNC((RESULT * 100/60) + 0.5)
END
SetBrushInfo 'ANNOTATION "LOOP -1 DELAY' delays'"'
END
END
ELSE RequestNotify 'PROMPT "'txt_err_noanim'"'
UnlockGUI